From 4ccee9852e11a5c29ea26cef76cf5dc2aa8ae68a Mon Sep 17 00:00:00 2001 From: robertl Date: Wed, 1 Jun 2011 00:49:11 +0000 Subject: [PATCH] Add automated test for KML validation. git-svn-id: http://gpsbabel.googlecode.com/svn/trunk@4062 f51c46e8-681c-474f-0cfe-069cfd0219fb --- gpsbabel/testo.d/kml.test | 19 +- .../tools/kml22-schema/atom-author-link.xsd | 66 + gpsbabel/tools/kml22-schema/kml22gx.xsd | 321 ++++ gpsbabel/tools/kml22-schema/ogckml22.xsd | 1642 +++++++++++++++++ 4 files changed, 2047 insertions(+), 1 deletion(-) create mode 100644 gpsbabel/tools/kml22-schema/atom-author-link.xsd create mode 100644 gpsbabel/tools/kml22-schema/kml22gx.xsd create mode 100644 gpsbabel/tools/kml22-schema/ogckml22.xsd diff --git a/gpsbabel/testo.d/kml.test b/gpsbabel/testo.d/kml.test index cad1f3359..e90a5991e 100644 --- a/gpsbabel/testo.d/kml.test +++ b/gpsbabel/testo.d/kml.test @@ -3,7 +3,7 @@ # Note: Reference files are from GPSBabel's own output. # gpsbabel -i gpx -f ${REFERENCE}/gc/GC7FA4.gpx -f ${REFERENCE}/gc/GCGCA8.gpx -o kml -F ${TMPDIR}/ge-gc.kml -compare ${REFERENCE}/earth-gc.kml ${REFERENCE}/earth-gc.kml +compare ${REFERENCE}/earth-gc.kml ${TMPDIR}/ge-gc.kml gpsbabel -i gpx -f ${REFERENCE}/expertgps.gpx -o kml -F ${TMPDIR}/ge-eg.kml compare ${REFERENCE}/earth-expertgps.kml ${TMPDIR}/ge-eg.kml @@ -37,3 +37,20 @@ gpsbabel -i gpx -f ${REFERENCE}/track/bounds-test-track.gpx -o kml -F ${TMPDIR}/ compare ${REFERENCE}/track/bounds-test-track.kml ${TMPDIR}/bnds-track.kml + +if which xmllint; +then + KMLS=$(find ${REFERENCE} -name \*.kml) + for f in $KMLS + do + case $f in + # Argue with the KML wizards about this. It was the intent for that + # to be legal in Earth GX 2.2. + ./reference/track/segmented_tracks-track.kml) continue;; + *) + xmllint --schema tools/kml22-schema/kml22gx.xsd --noout $f + esac; + done +else + echo "SKipping KML validation phase." +fi diff --git a/gpsbabel/tools/kml22-schema/atom-author-link.xsd b/gpsbabel/tools/kml22-schema/atom-author-link.xsd new file mode 100644 index 000000000..b3d77ade8 --- /dev/null +++ b/gpsbabel/tools/kml22-schema/atom-author-link.xsd @@ -0,0 +1,66 @@ + + + + + atom-author-link.xsd 2008-01-23 + There is no official atom XSD. This XSD is created based on: + http://atompub.org/2005/08/17/atom.rnc. A subset of Atom as used in the + ogckml22.xsd is defined here. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/gpsbabel/tools/kml22-schema/kml22gx.xsd b/gpsbabel/tools/kml22-schema/kml22gx.xsd new file mode 100644 index 000000000..333984da4 --- /dev/null +++ b/gpsbabel/tools/kml22-schema/kml22gx.xsd @@ -0,0 +1,321 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/gpsbabel/tools/kml22-schema/ogckml22.xsd b/gpsbabel/tools/kml22-schema/ogckml22.xsd new file mode 100644 index 000000000..1d4aa7644 --- /dev/null +++ b/gpsbabel/tools/kml22-schema/ogckml22.xsd @@ -0,0 +1,1642 @@ + + + + + ogckml22.xsd 2008-01-23 + XML Schema Document for OGC KML version 2.2. Copyright (c) + 2008 Open Geospatial Consortium, Inc. All Rights Reserved. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + not anyURI due to $[x] substitution in + PhotoOverlay + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Snippet deprecated in 2.2 + + + + + + + + + + + + + Metadata deprecated in 2.2 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Metadata deprecated in 2.2 + + + + + + MetadataType deprecated in 2.2 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + is the root element. + + ]]> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Url deprecated in 2.2 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Url deprecated in 2.2 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + color deprecated in 2.1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + -- 2.30.2